<

インペラーレンダリングエンジン

インペラーとは何ですか?

Impeller は、Flutter 用の新しいレンダリング ランタイムを提供します。 Flutter チームは、これにより Flutter の問題が解決されると信じています。早期発症型ジャンク問題。 インペラは、より小さく、よりシンプルなシェーダーのセットエンジンのビルド時に実行されるため、実行時にコンパイルされません。

Impeller の紹介ビデオについては、以下をご覧ください。 Google I/O 2023 での講演。

Impeller の紹介 - Flutter の新しいレンダリング エンジン

インペラには次の目的があります。

  • 予測可能なパフォーマンス: Impeller は、ビルド時にすべてのシェーダーとリフレクションをオフラインでコンパイルします。 すべてのパイプライン状態オブジェクトを事前に構築します。 エンジンはキャッシュを制御し、明示的にキャッシュします。
  • 計測可能: Impeller は、テクスチャなどのすべてのグラフィックス リソースにタグとラベルを付けます。 そしてバッファー。 アニメーションに影響を与えることなく、アニメーションをキャプチャしてディスクに保存できます。 フレームごとのレンダリング パフォーマンス。
  • ポータブル: Flutter は、Impeller を特定のクライアント レンダリング API に結び付けません。 シェーダーを一度作成して、バックエンド固有のシェーダーに変換できます。 必要に応じてフォーマットします。
  • 最新のグラフィック API を活用: インペラは、で利用可能な機能を使用しますが、依存しません。 Metal や Vulkan などの最新の API。
  • 同時実行性を活用する: インペラは単一フレームのワークロードを複数のフレームに分散できます。 必要に応じてスレッドを作成します。

可用性

インペラーはどこで使用できますか?

iOS

Flutter は、iOS でデフォルトで Impeller を有効にします。

  • 無効にするiOS 上の Impeller のデバッグ時、 合格--no-enable-impellerflutter run指図。

    $ flutter run --no-enable-impeller
    
  • 無効にするアプリをデプロイする際の iOS 上の Impeller、 最上位の下に次のタグを追加します<dict>あなたのタグ アプリのInfo.plistファイル。

      <key>FLTEnableImpeller</key>
      <false />
    

チームは iOS サポートの改善を続けています。 パフォーマンスまたは忠実度の問題が発生した場合 iOS 上の Impeller を使用している場合は、GitHubトラッカー。 問題のタイトルの前に次の文字を付けます[Impeller]と 再現可能な小さなテストケースが含まれています。

アンドロイド

Android の開発は続けられていますが、プレビューの準備はまだ整っていません。 Android 上の Imeller は動作しない可能性があります。masterチャネル。 Android サポートがどのような方向に進むかを確認するには、 3.7 以降の安定版リリースで Impeller を試してください。

Android で Impeller を有効にするには、次のいずれかのアクションを実行します。

  • 合格--enable-impellerflutter run指図。

    $ flutter run --enable-impeller
    
  • 次のタグをAndroidManifest.xmlファイル 下<application>鬼ごっこ。

      <meta-data
        android:name="io.flutter.embedding.android.EnableImpeller"
        android:value="true" />
    

建築

Impeller の設計とアーキテクチャの詳細については、 をチェックしてくださいREADME.mdソースツリー内のファイル。

追加情報

  • よくある質問
  • インペラの座標系
  • Metal を使用して GPU フレーム キャプチャ用に Xcode をセットアップする方法
  • GPU フレーム キャプチャの読み取り方法を学習する
  • コマンドラインアプリのメタル検証を有効にする方法
  • Open GL ES 2.0 における均一バッファの欠如を Impeller がどのように回避するか
  • 効率的なシェーダーを作成するためのガイダンス
  • Imeller での色のブレンドの仕組み